<script>
	import {
		getRsaText,
		getStarCover
	} from "@/api/CommonServer.js"
	import {
		refreshUserToken,
		getUserInfo,
	} from "@/api/UserServer.js"
	import {
		getSigninInfo,
	} from "@/api/HanbiServer.js"
	import {
		getMessageNoReadCount,
	} from "@/api/MessageServer.js"

	export default {
		onLaunch() {
			console.log('App Launch')

			// #ifdef H5
			if (location.pathname != '/' || location.hash != '#/') {
				uni.redirectTo({
					url: '/pages/index/index'
				})
			}
			// #endif
			// 启动封面
			getStarCover().then(coverRes => {
				// 保存启动封面
				this.$store.commit('common/setStarCoverData', coverRes.data.Data)
				// 检查token 取得rsa加密文本
				let token = uni.getStorageSync('TOKEN');
				return getRsaText(`${token},${Math.floor(new Date().getTime() / 1000)}`)
			}).then(rsaRes => {
				// 刷新token值 
				return refreshUserToken(rsaRes.data.Data)
			}).then(accountRes => {

				// #ifndef APP-PLUS
				// 置空导航标题
				uni.setNavigationBarTitle({
					title: ''
				});
				// 充白导航背景色
				uni.setNavigationBarColor({
					frontColor: '#ffffff',
					backgroundColor: '#ffffff'
				});
				// #endif

				// 保存账户信息和新token值
				this.$store.commit('user/setAccountInfoData', accountRes.data.Data);
				uni.setStorageSync('TOKEN', accountRes.data.Data.AccessToken);
				// 获得登录用户信息
				return getUserInfo(accountRes.data.Data.UserID);
			}).then(userinfoRes => {
				// 保存登录用户信息
				this.$store.commit('user/setUserInfoData', userinfoRes.data.Data);
				// 获取未读消息数
				return getMessageNoReadCount()
			}).then(mesRes => {
				// 保存未读消息数
				this.$store.commit('setNewsCountData', mesRes.data.Data)
				// 获取签到信息
				return getSigninInfo()
			}).then(signinRes => {
				// 保存签到信息
				this.$store.commit('setSigninInfoData', signinRes.data.Data)
				return true
			}).then(res => {
				console.log('app.vue', res);

				// #ifndef APP-PLUS 
				// 导航标题
				uni.setNavigationBarTitle({
					title: '主页'
				});
				// 导航背景色
				uni.setNavigationBarColor({
					frontColor: '#ffffff',
					backgroundColor: '#ff6699',
					animation: {
						duration: 4000,
						timingFunc: 'linear'
					}
				})
				// #endif

			}).catch(err => {
				console.log(err, false);
				// 登录问题
				if (err.data !== 401) {
					uni.redirectTo({
						url: '/pages/login/login'
					})
				}
			})

		},
		onShow() {
			console.log('App Show')
		},
		onHide() {
			console.log('App Hide')
		}
	}
</script>

<style>
	/* 每个页面公共css */
	@import "/style/common.css";
	@import "/style/relation.css";
	/* HTML富文本解析器样式 */
	@import "/components/gaoyia-parse/parse.css";

	/* 页面底色 */
	page {
		background: #F8F8F8;
	}
</style>
